# -*- coding: utf-8 -*-
"""
@Time ： 2023/4/6 20:24
@Auth ： Mr. William 1052949192
@Company ：特斯汀学院 @testingedu.com.cn
@Function ：关键字驱动实现自动化用例效果
"""
import time
from class11.keywords import Web

# 这是打开浏览器的关键字封装后的效果
web = Web()
web.openbrowser()
# 登录
web.geturl('http://testingedu.com.cn:8000/Home/user/login.html')
# 定位元素-操作元素
web.input('//*[@id="username"]', '13800138006')
web.input('password', '123456')
web.input('//*[@id="verify_code"]', '1111')
web.click('//*[@id="loginform"]/div/div[6]/a')
#
# # # element click intercepted（元素点击被拦截）
# # time.sleep(1)
# # # 把挡住的元素关闭
# # driver.find_element('xpath','//a[text()="确定"]').click()
# # driver.find_element('xpath', '//*[@id="loginform"]/div/div[6]/a').click()

# 获取昵称
nick = web.gettext('//a[@class="red userinfo"]')
print(nick)
#
# # 修改个人信息
# # 获得find_element找到的元素对象
# web.hover('//span[text()="账户设置"]')
# # 我就要点第一个：这里的下标从1开始
# web.click('(//a[contains(text(),"个人")])[1]')
#
# # 使用URL地址进入，可以消除页面位置的依赖
# web.geturl('http://testingedu.com.cn:8000/Home/User/info.html')
# web.click('//*[@id="preview"]')
#
# # 找到iframe
# web.intoiframe('//iframe')
# # 图片上传
# web.input('//*[@id="filePicker"]//input', r'C:\Users\Amy\Desktop\will.png')
#
# # # iframe切出
# # web.outiframe()
# # web.click('//a[contains(@class,"layui-layer-close1")]')
#
# # ele = driver.find_element('xpath', '//div[@class="progress"]/span')
# # # 如果text获取不到文本，可以获取innerText属性
# # print(ele.text)
# # element_text = ele.get_attribute('innerText')
# # print(element_text)
# # print('100%' in element_text)
#
# # 等进度的文本变成100%再点确定
# web.waitele('//div[@class="progress"]/span','innerText', '100%')
#
# web.click('//div[text()="确定使用"]')

driver = web.driver
# # 新增-删除收货地址
# driver.get('http://testingedu.com.cn:8000/Home/User/address_list.html')
# driver.find_element('xpath','//*[text()="增加新地址"]').click()
#
# # 输入信息
# driver.find_element('xpath','//input[@name="consignee"]').send_keys('老Will')
# driver.find_element('xpath','//input[@name="mobile"]').send_keys('18888888887')
#
# # 找到下拉框
# web.select('//*[@id="province"]','18')
#
# # 找到下拉框
# web.select('//*[@id="city"]','长沙市')
#
# # 找到下拉框
# web.select('//*[@id="district"]','岳麓区')
#
#
# driver.find_element('xpath','//input[@name="address"]').send_keys('老Will的测试地址')
# driver.find_element('xpath','//a[@id="address_submit"]').click()
#
# time.sleep(2)
# # 一定是删除我最近添加的一个叫老Will的地址
# driver.find_element('xpath','//span[text()="老Will"]/../..//a[text()="删除"]').click()

# 搜索，加购物车，下单，获取订单，查询
driver.find_element('xpath','//*[@id="q"]').send_keys('手机')
driver.find_element('xpath','//*[@id="sourch_form"]/a').click()
driver.find_element('xpath','//a[contains(text(),"苹果7钢")]/../..//a[text()="加入购物车"]').click()
# 固定
web.sleep('1.1')
driver.find_element('xpath','//*[@class="layui-layer-setwin"]/a').click()
driver.find_element('xpath','//*[text()="我的购物车"]').click()
driver.find_element('xpath','//*[text()="去结算"]').click()
driver.find_element('xpath','//*[@class="checkout-submit"]').click()

# 获取订单，查询
# 获取文本
web.gettext('//p[@class="succ-p"]',r'\d{18}')
web.saveparam('orderid','{text}')

# 进入订单页面，查询订单
driver.find_element('xpath','//a[text()="我的订单"]').click()
handles = driver.window_handles

# # 按下标
# driver.switch_to.window(handles[-1])
# driver.find_element('xpath','//*[@id="search_key"]').send_keys('order_id')

web.switchwin('我的订单')
web.input('//*[@id="search_key"]',"{orderid}")
driver.find_element('xpath','//a[text()="取消订单"]').click()
driver.find_element('xpath','//a[text()="确定"]').click()
driver.find_element('xpath','//a[text()="确定"]').click()
